package org.edu.modules.node.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;

@TableName("ve_cuz_node")
@ApiModel(value="ve_cuz_node对象", description="课程目录")
public class VeCuzNode
        implements Serializable
{
    private static final long serialVersionUID = 1L;
    @TableId(type=IdType.AUTO)
    @ApiModelProperty("主键ID，自增长")
    private Integer id;
    @ApiModelProperty("课程ID")
    private Integer courseid;
    @ApiModelProperty("节点名称")
    private String title;
    @ApiModelProperty("上级节点ID")
    private Integer pid;
    @ApiModelProperty("路径")
    private String path;
    @ApiModelProperty("必修最低时间长度（单位：分钟）")
    private Integer limittime;
    @ApiModelProperty("是否终极节点（0=不是，1=是）")
    private Integer isfinal;
    @ApiModelProperty("是否包含视频:1=是，0=否")
    private Integer ishasvideo;
    @ApiModelProperty("节点排序（从小到大，顺序）")
    private Integer listsort;
    @ApiModelProperty("终端ID")
    private Integer terminalid;
    @ApiModelProperty("多租户id")
    private Integer placeId;

    public VeCuzNode setTitle(String title)
    {
        this.title = title;return this;
    }

    public VeCuzNode setCourseid(Integer courseid)
    {
        this.courseid = courseid;return this;
    }

    public VeCuzNode setId(Integer id)
    {
        this.id = id;return this;
    }

    public String toString()
    {
        return "VeCuzNode(id=" + getId() + ", courseid=" + getCourseid() + ", title=" + getTitle() + ", pid=" + getPid() + ", path=" + getPath() + ", limittime=" + getLimittime() + ", isfinal=" + getIsfinal() + ", ishasvideo=" + getIshasvideo() + ", listsort=" + getListsort() + ", terminalid=" + getTerminalid() + ", placeId=" + getPlaceId() + ")";
    }

    public VeCuzNode setPlaceId(Integer placeId)
    {
        this.placeId = placeId;return this;
    }

    public VeCuzNode setTerminalid(Integer terminalid)
    {
        this.terminalid = terminalid;return this;
    }

    public VeCuzNode setListsort(Integer listsort)
    {
        this.listsort = listsort;return this;
    }

    public VeCuzNode setIshasvideo(Integer ishasvideo)
    {
        this.ishasvideo = ishasvideo;return this;
    }

    public VeCuzNode setIsfinal(Integer isfinal)
    {
        this.isfinal = isfinal;return this;
    }

    public VeCuzNode setLimittime(Integer limittime)
    {
        this.limittime = limittime;return this;
    }

    public VeCuzNode setPath(String path)
    {
        this.path = path;return this;
    }

    public VeCuzNode setPid(Integer pid)
    {
        this.pid = pid;return this;
    }

    public int hashCode()
    {
        int PRIME = 59;int result = 1;Object $id = getId();result = result * 59 + ($id == null ? 43 : $id.hashCode());Object $courseid = getCourseid();result = result * 59 + ($courseid == null ? 43 : $courseid.hashCode());Object $pid = getPid();result = result * 59 + ($pid == null ? 43 : $pid.hashCode());Object $limittime = getLimittime();result = result * 59 + ($limittime == null ? 43 : $limittime.hashCode());Object $isfinal = getIsfinal();result = result * 59 + ($isfinal == null ? 43 : $isfinal.hashCode());Object $ishasvideo = getIshasvideo();result = result * 59 + ($ishasvideo == null ? 43 : $ishasvideo.hashCode());Object $listsort = getListsort();result = result * 59 + ($listsort == null ? 43 : $listsort.hashCode());Object $terminalid = getTerminalid();result = result * 59 + ($terminalid == null ? 43 : $terminalid.hashCode());Object $placeId = getPlaceId();result = result * 59 + ($placeId == null ? 43 : $placeId.hashCode());Object $title = getTitle();result = result * 59 + ($title == null ? 43 : $title.hashCode());Object $path = getPath();result = result * 59 + ($path == null ? 43 : $path.hashCode());return result;
    }

    protected boolean canEqual(Object other)
    {
        return other instanceof VeCuzNode;
    }

    public boolean equals(Object o)
    {
        if (o == this) {
            return true;
        }
        if (!(o instanceof VeCuzNode)) {
            return false;
        }
        VeCuzNode other = (VeCuzNode)o;
        if (!other.canEqual(this)) {
            return false;
        }
        Object this$id = getId();Object other$id = other.getId();
        if (this$id == null ? other$id != null : !this$id.equals(other$id)) {
            return false;
        }
        Object this$courseid = getCourseid();Object other$courseid = other.getCourseid();
        if (this$courseid == null ? other$courseid != null : !this$courseid.equals(other$courseid)) {
            return false;
        }
        Object this$pid = getPid();Object other$pid = other.getPid();
        if (this$pid == null ? other$pid != null : !this$pid.equals(other$pid)) {
            return false;
        }
        Object this$limittime = getLimittime();Object other$limittime = other.getLimittime();
        if (this$limittime == null ? other$limittime != null : !this$limittime.equals(other$limittime)) {
            return false;
        }
        Object this$isfinal = getIsfinal();Object other$isfinal = other.getIsfinal();
        if (this$isfinal == null ? other$isfinal != null : !this$isfinal.equals(other$isfinal)) {
            return false;
        }
        Object this$ishasvideo = getIshasvideo();Object other$ishasvideo = other.getIshasvideo();
        if (this$ishasvideo == null ? other$ishasvideo != null : !this$ishasvideo.equals(other$ishasvideo)) {
            return false;
        }
        Object this$listsort = getListsort();Object other$listsort = other.getListsort();
        if (this$listsort == null ? other$listsort != null : !this$listsort.equals(other$listsort)) {
            return false;
        }
        Object this$terminalid = getTerminalid();Object other$terminalid = other.getTerminalid();
        if (this$terminalid == null ? other$terminalid != null : !this$terminalid.equals(other$terminalid)) {
            return false;
        }
        Object this$placeId = getPlaceId();Object other$placeId = other.getPlaceId();
        if (this$placeId == null ? other$placeId != null : !this$placeId.equals(other$placeId)) {
            return false;
        }
        Object this$title = getTitle();Object other$title = other.getTitle();
        if (this$title == null ? other$title != null : !this$title.equals(other$title)) {
            return false;
        }
        Object this$path = getPath();Object other$path = other.getPath();return this$path == null ? other$path == null : this$path.equals(other$path);
    }

    public Integer getId()
    {
        return this.id;
    }

    public Integer getCourseid()
    {
        return this.courseid;
    }

    public String getTitle()
    {
        return this.title;
    }

    public Integer getPid()
    {
        return this.pid;
    }

    public String getPath()
    {
        return this.path;
    }

    public Integer getLimittime()
    {
        return this.limittime;
    }

    public Integer getIsfinal()
    {
        return this.isfinal;
    }

    public Integer getIshasvideo()
    {
        return this.ishasvideo;
    }

    public Integer getListsort()
    {
        return this.listsort;
    }

    public Integer getTerminalid()
    {
        return this.terminalid;
    }

    public Integer getPlaceId()
    {
        return this.placeId;
    }
}
